package com.tang.service.admin.domain;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tang.common.utils.excel.annotation.ExcelEnum;
import com.tang.common.utils.excel.converter.EnumConverter;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import com.tang.framework.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;


@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "菜单表")
@TableName(value = "sys_menu")
public class SysMenu extends BaseEntity<SysMenu>{


    @Schema(description = "父菜单id")
    @ExcelIgnore
    @TableField(value = "`pid`")
    private Long pid;


    @Schema(description = "菜单名称")
    @ExcelIgnore
    @TableField(value = "`menu_name`")
    private String menuName;


    @Schema(description = "菜单图标")
    @ExcelIgnore
    @TableField(value = "`icon`")
    private String icon;


    @Schema(description = "前端组件地址")
    @ExcelIgnore
    @TableField(value = "`component_path`")
    private String componentPath;


    @Schema(description = "组件路由")
    @ExcelIgnore
    @TableField(value = "`route`")
    private String route;


    @Schema(description = "需要的权限")
    @ExcelIgnore
    @TableField(value = "`authorize`")
    private String authorize;

    @Schema(description = "状态")
    @ExcelIgnore
    @TableField(value = "`status`")
    private Boolean status;

    @Schema(description = "隐藏菜单")
    @TableField(value = "hide_in_menu")
    private Boolean hideInMenu;

    @Schema(description = "菜单排序")
    @ExcelIgnore
    @TableField(value = "`sort`")
    private Integer sort;

    @Schema(description = "是否是菜单")
    @TableField(value = "`menu`")
    private Boolean menu;

    @Schema(description = "颜色")
    @TableField(value = "`color`")
    private String color;

}
